home *** CD-ROM | disk | FTP | other *** search
- #ifndef _LIBDWARF_H
- #define _LIBDWARF_H
- #ifdef __cplusplus
- extern "C" {
- #endif
- /*
- libdwarf.h
- $Revision: 1.56 $ $Date: 1994/06/20 18:40:33 $
-
- For libdwarf producers and consumers
-
- The interface is defined as having 8-byte signed and unsigned
- values so it can handle 64-or-32bit target on 64-or-32bit host.
- Addr is the native size: it represents pointers on
- the host machine (not the target!).
-
- This contains declarations for types and all producer
- and consumer functions.
-
- Function declarations are written on a single line each here
- so one can use grep to each declaration in its entirety.
- The declarations are a little harder to read this way, but...
-
- */
-
- #if (_MIPS_SZLONG == 64)
- typedef int Dwarf_Bool; /* boolean type */
- typedef unsigned long Dwarf_Off; /* 4 or 8 byte file offset */
- typedef unsigned long Dwarf_Unsigned; /* 4 or 8 byte unsigned value */
- typedef unsigned short Dwarf_Half; /* 2 byte unsigned value */
- typedef unsigned char Dwarf_Small; /* 1 byte unsigned value */
- typedef signed long Dwarf_Signed; /* 4 or 8 byte signed value */
- typedef unsigned long Dwarf_Addr; /* target memory address */
- #else /* 32-bit */
- typedef int Dwarf_Bool; /* boolean type */
- typedef unsigned long long Dwarf_Off; /* 4 or 8 byte file offset */
- typedef unsigned long long Dwarf_Unsigned; /* 4 or 8 byte unsigned value*/
- typedef unsigned short Dwarf_Half; /* 2 byte unsigned value */
- typedef unsigned char Dwarf_Small; /* 1 byte unsigned value */
- typedef signed long long Dwarf_Signed; /* 4 or 8 byte signed value */
- typedef unsigned long long Dwarf_Addr; /* target memory address */
- #endif
- typedef void* Dwarf_Ptr; /* host machine pointer */
-
- /* uninterpreted block of data
- */
- typedef struct {
- Dwarf_Unsigned bl_len; /* length of block */
- Dwarf_Ptr bl_data; /* uninterpreted data */
- } Dwarf_Block;
-
-
- /* location record
- */
- typedef struct {
- Dwarf_Small lr_atom; /* location operation */
- Dwarf_Unsigned lr_number; /* operand */
- Dwarf_Unsigned lr_number2; /* for OP_BREGx */
- Dwarf_Unsigned lr_offset; /* offset in locexpr for OP_BRA etc */
- } Dwarf_Loc;
-
-
- /* location description
- */
- typedef struct {
- Dwarf_Addr ld_lopc; /* beginning of active range */
- Dwarf_Addr ld_hipc; /* end of active range */
- Dwarf_Half ld_cents; /* count of location records */
- Dwarf_Loc* ld_s; /* pointer to list of same */
- } Dwarf_Locdesc;
-
- /* Frame description instructions expanded.
- */
- typedef struct {
- Dwarf_Small fp_base_op;
- Dwarf_Small fp_extended_op;
- Dwarf_Half fp_register;
- Dwarf_Unsigned fp_offset;
- Dwarf_Off fp_instr_offset;
- } Dwarf_Frame_Op;
-
-
- /* Opaque types for Consumer Library. */
- typedef struct Dwarf_Debug_s* Dwarf_Debug;
- typedef struct Dwarf_Die_s* Dwarf_Die;
- typedef struct Dwarf_Line_s* Dwarf_Line;
- typedef struct Dwarf_Global_s* Dwarf_Global;
- typedef struct Dwarf_Func_s* Dwarf_Func;
- typedef struct Dwarf_Type_s* Dwarf_Type;
- typedef struct Dwarf_Var_s* Dwarf_Var;
- typedef struct Dwarf_Weak_s* Dwarf_Weak;
- typedef struct Dwarf_Error_s* Dwarf_Error;
- typedef struct Dwarf_Attribute_s* Dwarf_Attribute;
- typedef struct Dwarf_Abbrev_s* Dwarf_Abbrev;
- typedef struct Dwarf_Fde_s* Dwarf_Fde;
- typedef struct Dwarf_Cie_s* Dwarf_Cie;
- typedef struct Dwarf_Arange_s* Dwarf_Arange;
-
- #if 0
- /* Unused Opaque types */
- typedef struct Dwarf_Subscript_s* Dwarf_Subscript;
- typedef struct Dwarf_Expr_s* Dwarf_Expr;
- #endif
-
- /* Opaque types for Producer Library. */
- typedef struct Dwarf_P_Debug_s* Dwarf_P_Debug;
- typedef struct Dwarf_P_Die_s* Dwarf_P_Die;
- typedef struct Dwarf_P_Attribute_s* Dwarf_P_Attribute;
- typedef struct Dwarf_P_Fde_s* Dwarf_P_Fde;
- typedef struct Dwarf_P_Expr_s* Dwarf_P_Expr;
- typedef Dwarf_Unsigned Dwarf_Tag;
-
-
- /* error handler function
- */
- typedef void (*Dwarf_Handler)(Dwarf_Error /*error*/, Dwarf_Ptr /*errarg*/);
-
-
- /*
- Dwarf_dealloc() alloc_type arguments.
- Argument points to:
- */
- #define DW_DLA_STRING 0x01 /* char* */
- #define DW_DLA_LOC 0x02 /* Dwarf_Loc */
- #define DW_DLA_LOCDESC 0x03 /* Dwarf_Locdesc */
- #define DW_DLA_ELLIST 0x04 /* Dwarf_Ellist (not used)*/
- #define DW_DLA_BOUNDS 0x05 /* Dwarf_Bounds (not used) */
- #define DW_DLA_BLOCK 0x06 /* Dwarf_Block */
- #define DW_DLA_DEBUG 0x07 /* Dwarf_Debug */
- #define DW_DLA_DIE 0x08 /* Dwarf_Die */
- #define DW_DLA_LINE 0x09 /* Dwarf_Line */
- #define DW_DLA_ATTR 0x0a /* Dwarf_Attribute */
- #define DW_DLA_TYPE 0x0b /* Dwarf_Type (not used) */
- #define DW_DLA_SUBSCR 0x0c /* Dwarf_Subscr (not used) */
- #define DW_DLA_GLOBAL 0x0d /* Dwarf_Global */
- #define DW_DLA_ERROR 0x0e /* Dwarf_Error */
- #define DW_DLA_LIST 0x0f /* a list */
- #define DW_DLA_LINEBUF 0x10 /* Dwarf_Line* (not used) */
- #define DW_DLA_ARANGE 0x11 /* Dwarf_Arange */
- #define DW_DLA_ABBREV 0x12 /* Dwarf_Abbrev */
- #define DW_DLA_FRAME_OP 0x13 /* Dwarf_Frame_Op */
- #define DW_DLA_CIE 0x14 /* Dwarf_Cie */
- #define DW_DLA_FDE 0x15 /* Dwarf_Fde */
- #define DW_DLA_LOC_BLOCK 0x16 /* Dwarf_Loc Block (not used) */
- #define DW_DLA_FRAME_BLOCK 0x17 /* Dwarf_Frame Block (not used) */
- #define DW_DLA_FUNC 0x18 /* Dwarf_Func */
- #define DW_DLA_TYPENAME 0x19 /* Dwarf_Type */
- #define DW_DLA_VAR 0x1a /* Dwarf_Var */
- #define DW_DLA_WEAK 0x1b /* Dwarf_Weak */
- #define DW_DLA_ADDR 0x1c /* Dwarf_Addr sized entries */
-
-
- /* dwarf_init() access arguments
- */
- #define DW_DLC_READ 0 /* read only access */
- #define DW_DLC_WRITE 1 /* write only access */
- #define DW_DLC_RDWR 2 /* read/write access NOT SUPPORTED*/
-
- /* dwarf_init() access flag modifiers
- */
- #define DW_DLC_SIZE_64 0x40000000 /* 32-bit target */
- #define DW_DLC_SIZE_32 0x20000000 /* 64-bit target */
-
- /* dwarf_pcline() slide arguments
- */
- #define DW_DLS_BACKWARD -1 /* slide backward to find line */
- #define DW_DLS_NOSLIDE 0 /* match exactly without sliding */
- #define DW_DLS_FORWARD 1 /* slide forward to find line */
-
- /* libdwarf error numbers
- */
- #define DW_DLE_NE 0 /* no error */
- #define DW_DLE_VMM 1 /* dwarf format/library version mismatch */
- #define DW_DLE_MAP 2 /* memory map failure */
- #define DW_DLE_LEE 3 /* libelf error */
- #define DW_DLE_NDS 4 /* no debug section */
- #define DW_DLE_NLS 5 /* no line section */
- #define DW_DLE_ID 6 /* invalid descriptor for query */
- #define DW_DLE_IOF 7 /* I/O failure */
- #define DW_DLE_MAF 8 /* memory allocation failure */
- #define DW_DLE_IA 9 /* invalid argument */
- #define DW_DLE_MDE 10 /* mangled debugging entry */
- #define DW_DLE_MLE 11 /* mangled line number entry */
- #define DW_DLE_FNO 12 /* file not open */
- #define DW_DLE_FNR 13 /* file not a regular file */
- #define DW_DLE_FWA 14 /* file open with wrong access */
- #define DW_DLE_NOB 15 /* not an object file */
- #define DW_DLE_MOF 16 /* mangled object file header */
- #define DW_DLE_EOLL 17 /* end of location list entries */
- #define DW_DLE_NOLL 18 /* no location list section */
- #define DW_DLE_BADOFF 19 /* Invalid offset */
- #define DW_DLE_EOS 20 /* end of section */
- #define DW_DLE_ATRUNC 21 /* abbreviations section appears truncated*/
- #define DW_DLE_BADBITC 22 /* Address size passed to dwarf bad*/
- /* It is not an allowed size (64 or 32) */
- /* Error codes defined by the current Libdwarf Implementation. */
- #define DW_DLE_DBG_ALLOC 23
- #define DW_DLE_FSTAT_ERROR 24
- #define DW_DLE_FSTAT_MODE_ERROR 25
- #define DW_DLE_INIT_ACCESS_WRONG 26
- #define DW_DLE_ELF_BEGIN_ERROR 27
- #define DW_DLE_ELF_GETEHDR_ERROR 28
- #define DW_DLE_ELF_GETSHDR_ERROR 29
- #define DW_DLE_ELF_STRPTR_ERROR 30
- #define DW_DLE_DEBUG_INFO_DUPLICATE 31
- #define DW_DLE_DEBUG_INFO_NULL 32
- #define DW_DLE_DEBUG_ABBREV_DUPLICATE 33
- #define DW_DLE_DEBUG_ABBREV_NULL 34
- #define DW_DLE_DEBUG_ARANGES_DUPLICATE 35
- #define DW_DLE_DEBUG_ARANGES_NULL 36
- #define DW_DLE_DEBUG_LINE_DUPLICATE 37
- #define DW_DLE_DEBUG_LINE_NULL 38
- #define DW_DLE_DEBUG_LOC_DUPLICATE 39
- #define DW_DLE_DEBUG_LOC_NULL 40
- #define DW_DLE_DEBUG_MACINFO_DUPLICATE 41
- #define DW_DLE_DEBUG_MACINFO_NULL 42
- #define DW_DLE_DEBUG_PUBNAMES_DUPLICATE 43
- #define DW_DLE_DEBUG_PUBNAMES_NULL 44
- #define DW_DLE_DEBUG_STR_DUPLICATE 45
- #define DW_DLE_DEBUG_STR_NULL 46
- #define DW_DLE_CU_LENGTH_ERROR 47
- #define DW_DLE_VERSION_STAMP_ERROR 48
- #define DW_DLE_ABBREV_OFFSET_ERROR 49
- #define DW_DLE_ADDRESS_SIZE_ERROR 50
- #define DW_DLE_DEBUG_INFO_PTR_NULL 51
- #define DW_DLE_DIE_NULL 52
- #define DW_DLE_STRING_OFFSET_BAD 53
- #define DW_DLE_DEBUG_LINE_LENGTH_BAD 54
- #define DW_DLE_LINE_PROLOG_LENGTH_BAD 55
- #define DW_DLE_LINE_NUM_OPERANDS_BAD 56
- #define DW_DLE_LINE_SET_ADDR_ERROR 57
- #define DW_DLE_LINE_EXT_OPCODE_BAD 58
- #define DW_DLE_DWARF_LINE_NULL 59
- #define DW_DLE_INCL_DIR_NUM_BAD 60
- #define DW_DLE_LINE_FILE_NUM_BAD 61
- #define DW_DLE_ALLOC_FAIL 62
- #define DW_DLE_NO_CALLBACK_FUNC 63
- #define DW_DLE_SECT_ALLOC 64
- #define DW_DLE_FILE_ENTRY_ALLOC 65
- #define DW_DLE_LINE_ALLOC 66
- #define DW_DLE_FPGM_ALLOC 67
- #define DW_DLE_INCDIR_ALLOC 68
- #define DW_DLE_STRING_ALLOC 69
- #define DW_DLE_CHUNK_ALLOC 70
- #define DW_DLE_BYTEOFF_ERR 71
- #define DW_DLE_CIE_ALLOC 72
- #define DW_DLE_FDE_ALLOC 73
- #define DW_DLE_REGNO_OVFL 74
- #define DW_DLE_CIE_OFFS_ALLOC 75
- #define DW_DLE_WRONG_ADDRESS 76
- #define DW_DLE_EXTRA_NEIGHBORS 77
- #define DW_DLE_WRONG_TAG 78
- #define DW_DLE_DIE_ALLOC 79
- #define DW_DLE_PARENT_EXISTS 80
- #define DW_DLE_DBG_NULL 81
- #define DW_DLE_DEBUGLINE_ERROR 82
- #define DW_DLE_DEBUGFRAME_ERROR 83
- #define DW_DLE_DEBUGINFO_ERROR 84
- #define DW_DLE_ATTR_ALLOC 85
- #define DW_DLE_ABBREV_ALLOC 86
- #define DW_DLE_OFFSET_UFLW 87
- #define DW_DLE_ELF_SECT_ERR 88
- #define DW_DLE_DEBUG_FRAME_LENGTH_BAD 89
- #define DW_DLE_FRAME_VERSION_BAD 90
- #define DW_DLE_CIE_RET_ADDR_REG_ERROR 91
- #define DW_DLE_FDE_NULL 92
- #define DW_DLE_FDE_DBG_NULL 93
- #define DW_DLE_CIE_NULL 94
- #define DW_DLE_CIE_DBG_NULL 95
- #define DW_DLE_FRAME_TABLE_COL_BAD 96
- #define DW_DLE_PC_NOT_IN_FDE_RANGE 97
- #define DW_DLE_CIE_INSTR_EXEC_ERROR 98
- #define DW_DLE_FRAME_INSTR_EXEC_ERROR 99
- #define DW_DLE_FDE_PTR_NULL 100
- #define DW_DLE_RET_OP_LIST_NULL 101
- #define DW_DLE_LINE_CONTEXT_NULL 102
- #define DW_DLE_DBG_NO_CU_CONTEXT 103
- #define DW_DLE_DIE_NO_CU_CONTEXT 104
- #define DW_DLE_FIRST_DIE_NOT_CU 105
- #define DW_DLE_NEXT_DIE_PTR_NULL 106
- #define DW_DLE_DEBUG_FRAME_DUPLICATE 107
- #define DW_DLE_DEBUG_FRAME_NULL 108
- #define DW_DLE_ABBREV_DECODE_ERROR 109
- #define DW_DLE_DWARF_ABBREV_NULL 110
- #define DW_DLE_ATTR_NULL 111
- #define DW_DLE_DIE_BAD 112
- #define DW_DLE_DIE_ABBREV_BAD 113
- #define DW_DLE_ATTR_FORM_BAD 114
- #define DW_DLE_ATTR_NO_CU_CONTEXT 115
- #define DW_DLE_ATTR_FORM_SIZE_BAD 116
- #define DW_DLE_ATTR_DBG_NULL 117
- #define DW_DLE_BAD_REF_FORM 118
- #define DW_DLE_ATTR_FORM_OFFSET_BAD 119
- #define DW_DLE_LINE_OFFSET_BAD 120
- #define DW_DLE_DEBUG_STR_OFFSET_BAD 121
- #define DW_DLE_STRING_PTR_NULL 122
- #define DW_DLE_PUBNAMES_VERSION_ERROR 123
- #define DW_DLE_PUBNAMES_LENGTH_BAD 124
- #define DW_DLE_GLOBAL_NULL 125
- #define DW_DLE_GLOBAL_CONTEXT_NULL 126
- #define DW_DLE_DIR_INDEX_BAD 127
- #define DW_DLE_LOC_EXPR_BAD 128
- #define DW_DLE_DIE_LOC_EXPR_BAD 129
- #define DW_DLE_ADDR_ALLOC 130
- #define DW_DLE_OFFSET_BAD 131
- #define DW_DLE_MAKE_CU_CONTEXT_FAIL 132
- #define DW_DLE_REL_ALLOC 133
- #define DW_DLE_ARANGE_OFFSET_BAD 134
- #define DW_DLE_SEGMENT_SIZE_BAD 135
- #define DW_DLE_ARANGE_LENGTH_BAD 136
- #define DW_DLE_ARANGE_DECODE_ERROR 137
- #define DW_DLE_ARANGES_NULL 138
- #define DW_DLE_ARANGE_NULL 139
- #define DW_DLE_NO_FILE_NAME 140
- #define DW_DLE_NO_COMP_DIR 141
- #define DW_DLE_CU_ADDRESS_SIZE_BAD 142
- #define DW_DLE_INPUT_ATTR_BAD 143
- #define DW_DLE_EXPR_NULL 144
- #define DW_DLE_BAD_EXPR_OPCODE 145
- #define DW_DLE_EXPR_LENGTH_BAD 146
- #define DW_DLE_MULTIPLE_RELOC_IN_EXPR 147
- #define DW_DLE_ELF_GETIDENT_ERROR 148
- #define DW_DLE_NO_AT_MIPS_FDE 149
- #define DW_DLE_NO_CIE_FOR_FDE 150
- #define DW_DLE_DIE_ABBREV_LIST_NULL 151
- #define DW_DLE_DEBUG_FUNCNAMES_DUPLICATE 152
- #define DW_DLE_DEBUG_FUNCNAMES_NULL 153
- #define DW_DLE_DEBUG_FUNCNAMES_VERSION_ERROR 154
- #define DW_DLE_DEBUG_FUNCNAMES_LENGTH_BAD 155
- #define DW_DLE_FUNC_NULL 156
- #define DW_DLE_FUNC_CONTEXT_NULL 157
- #define DW_DLE_DEBUG_TYPENAMES_DUPLICATE 158
- #define DW_DLE_DEBUG_TYPENAMES_NULL 159
- #define DW_DLE_DEBUG_TYPENAMES_VERSION_ERROR 160
- #define DW_DLE_DEBUG_TYPENAMES_LENGTH_BAD 161
- #define DW_DLE_TYPE_NULL 162
- #define DW_DLE_TYPE_CONTEXT_NULL 163
- #define DW_DLE_DEBUG_VARNAMES_DUPLICATE 164
- #define DW_DLE_DEBUG_VARNAMES_NULL 165
- #define DW_DLE_DEBUG_VARNAMES_VERSION_ERROR 166
- #define DW_DLE_DEBUG_VARNAMES_LENGTH_BAD 167
- #define DW_DLE_VAR_NULL 168
- #define DW_DLE_VAR_CONTEXT_NULL 169
- #define DW_DLE_DEBUG_WEAKNAMES_DUPLICATE 170
- #define DW_DLE_DEBUG_WEAKNAMES_NULL 171
- #define DW_DLE_DEBUG_WEAKNAMES_VERSION_ERROR 172
- #define DW_DLE_DEBUG_WEAKNAMES_LENGTH_BAD 173
- #define DW_DLE_WEAK_NULL 174
- #define DW_DLE_WEAK_CONTEXT_NULL 175
- #define DW_DLE_LOCDESC_COUNT_WRONG 176
- /* MUST EQUAL LAST ERROR NUMBER */
- #define DW_DLE_LAST 176
- #define DW_DLE_LO_USER 0x10000
-
- /* taken as meaning 'undefined value', this is not
- a column or register number.
- Only present at libdwarf runtime. Never on disk.
- DW_FRAME_* Values present on disk are in dwarf.h
- */
- #define DW_FRAME_UNDEFINED_VAL 1034
-
- /* taken as meaning 'same value' as caller had, not a column
- or register number
- Only present at libdwarf runtime. Never on disk.
- DW_FRAME_* Values present on disk are in dwarf.h
- */
- #define DW_FRAME_SAME_VAL 1035
-
-
-
- /* error return values
- */
- #define DW_DLV_BADADDR (~(Dwarf_Addr)0)
- /* for functions returning target address */
-
- #define DW_DLV_NOCOUNT ((Dwarf_Signed)-1)
- /* for functions returning count */
-
- #define DW_DLV_BADOFFSET (~(Dwarf_Off)0)
- /* for functions returning offset */
-
- /* standard return values for functions */
- #define DW_DLV_NO_ENTRY -1
- #define DW_DLV_OK 0
- #define DW_DLV_ERROR 1
-
-
-
- /*===========================================================================*/
- /* Dwarf consumer interface initialization and termination operations */
-
- /* non-elf initialization */
- int dwarf_init (
- int /*fd*/,
- Dwarf_Unsigned /*access*/,
- Dwarf_Handler /*errhand*/,
- Dwarf_Ptr /*errarg*/,
- Dwarf_Debug * /*dbg*/,
- Dwarf_Error* /*error*/
- );
-
- /* elf intialization */
- int dwarf_elf_init (
- Elf* /*elf*/,
- Dwarf_Unsigned /*access*/,
- Dwarf_Handler /*errhand*/,
- Dwarf_Ptr /*errarg*/,
- Dwarf_Debug * /*dbg*/,
- Dwarf_Error* /*error*/
- );
-
- /* Undocumented function for memory allocator. */
- void dwarf_print_memory_stats (
- Dwarf_Debug /*dbg*/
- );
-
- int dwarf_get_elf (
- Dwarf_Debug /*dbg*/,
- Elf ** /*return_elfptr*/,
- Dwarf_Error* /*error*/
- );
-
- int dwarf_finish (
- Dwarf_Debug /*dbg*/,
- Dwarf_Error* /*error*/
- );
-
- /* die traversal operations */
- int dwarf_next_cu_header (
- Dwarf_Debug /*dbg*/,
- Dwarf_Unsigned* /*cu_header_length*/,
- Dwarf_Half* /*version_stamp*/,
- Dwarf_Off* /*abbrev_offset*/,
- Dwarf_Half* /*address_size*/,
- Dwarf_Unsigned* /*next_cu_header_offset*/,
- Dwarf_Error* /*error*/
- );
-
- int dwarf_siblingof (
- Dwarf_Debug /*dbg*/,
- Dwarf_Die /*die*/,
- Dwarf_Die* /*return_siblingdie*/,
- Dwarf_Error* /*error*/
- );
-
- int dwarf_child (
- Dwarf_Die /*die*/,
- Dwarf_Die* /*return_childdie*/,
- Dwarf_Error* /*error*/
- );
-
- /* finding die given offset */
- int dwarf_offdie (
- Dwarf_Debug /*dbg*/,
- Dwarf_Off /*offset*/,
- Dwarf_Die* /*return_die*/,
- Dwarf_Error* /*error*/
- );
-
- /* higher level functions (Unimplemented) */
- int dwarf_pcfile (
- Dwarf_Debug /*dbg*/,
- Dwarf_Addr /*pc*/,
- Dwarf_Die* /*return_die*/,
- Dwarf_Error* /*error*/
- );
-
- /* Unimplemented */
- int dwarf_pcsubr (
- Dwarf_Debug /*dbg*/,
- Dwarf_Addr /*pc*/,
- Dwarf_Die* /*return_die*/,
- Dwarf_Error* /*error*/
- );
-
- /* Unimplemented */
- int dwarf_pcscope (
- Dwarf_Debug /*dbg*/,
- Dwarf_Addr /*pc*/,
- Dwarf_Die* /*return_die*/,
- Dwarf_Error* /*error*/
- );
-
- /* operations on DIEs */
- int dwarf_tag (
- Dwarf_Die /*die*/,
- Dwarf_Half* /*return_tag*/,
- Dwarf_Error* /*error*/
- );
-
- /* utility? */
- int dwarf_dieoffset (
- Dwarf_Die /*die*/,
- Dwarf_Off* /*return_offset*/,
- Dwarf_Error* /*error*/
- );
-
- int dwarf_die_CU_offset (
- Dwarf_Die /*die*/,
- Dwarf_Off* /*return_offset*/,
- Dwarf_Error* /*error*/
- );
-
- int dwarf_attr (
- Dwarf_Die /*die*/,
- Dwarf_Half /*attr*/,
- Dwarf_Attribute * /*returned_attr*/,
- Dwarf_Error* /*error*/
- );
-
- int dwarf_diename (
- Dwarf_Die /*die*/,
- char ** /*returned_name*/,
- Dwarf_Error* /*error*/
- );
-
- /* convenience functions, alternative to using dwarf_attrlist() */
- int dwarf_hasattr (
- Dwarf_Die /*die*/,
- Dwarf_Half /*attr*/,
- Dwarf_Bool * /*returned_bool*/,
- Dwarf_Error* /*error*/
- );
-
- int dwarf_loclist (
- Dwarf_Attribute /*attr*/,
- Dwarf_Locdesc** /*llbuf*/,
- Dwarf_Signed * /*locCount*/,
- Dwarf_Error* /*error*/
- );
-
- /* Unimplemented */
- int dwarf_stringlen (
- Dwarf_Die /*die*/,
- Dwarf_Locdesc ** /*returned_locdesc*/,
- Dwarf_Error* /*error*/
- );
-
- /* Unimplemented */
- int dwarf_subscrcnt (
- Dwarf_Die /*die*/,
- Dwarf_Signed * /*returned_count*/,
- Dwarf_Error* /*error*/
- );
-
- /* Unimplemented */
- int dwarf_nthsubscr (
- Dwarf_Die /*die*/,
- Dwarf_Unsigned /*ssndx*/,
- Dwarf_Die * /*returned_die*/,
- Dwarf_Error* /*error*/
- );
-
- int dwarf_lowpc (
- Dwarf_Die /*die*/,
- Dwarf_Addr * /*returned_addr*/,
- Dwarf_Error* /*error*/
- );
-
- int dwarf_highpc (
- Dwarf_Die /*die*/,
- Dwarf_Addr * /*returned_addr*/,
- Dwarf_Error* /*error*/
- );
-
- int dwarf_bytesize (
- Dwarf_Die /*die*/,
- Dwarf_Unsigned * /*returned_size*/,
- Dwarf_Error* /*error*/
- );
-
- /* Unimplemented */
- int dwarf_isbitfield (
- Dwarf_Die /*die*/,
- Dwarf_Bool * /*returned_bool*/,
- Dwarf_Error* /*error*/
- );
-
- int dwarf_bitsize (
- Dwarf_Die /*die*/,
- Dwarf_Unsigned * /*returned_size*/,
- Dwarf_Error* /*error*/
- );
-
- int dwarf_bitoffset (
- Dwarf_Die /*die*/,
- Dwarf_Unsigned * /*returned_offset*/,
- Dwarf_Error* /*error*/
- );
-
- int dwarf_srclang (
- Dwarf_Die /*die*/,
- Dwarf_Unsigned * /*returned_lang*/,
- Dwarf_Error* /*error*/
- );
-
- int dwarf_arrayorder (
- Dwarf_Die /*die*/,
- Dwarf_Unsigned * /*returned_order*/,
- Dwarf_Error* /*error*/
- );
- /* end of convenience function list */
-
- /* this is the main interface to attributes of a DIE */
- int dwarf_attrlist (
- Dwarf_Die /*die*/,
- Dwarf_Attribute** /*attrbuf*/,
- Dwarf_Signed * /*attrcount*/,
- Dwarf_Error* /*error*/
- );
-
- /* query operations for attributes */
- int dwarf_hasform (
- Dwarf_Attribute /*attr*/,
- Dwarf_Half /*form*/,
- Dwarf_Bool * /*returned_bool*/,
- Dwarf_Error* /*error*/
- );
-
- int dwarf_whatform (
- Dwarf_Attribute /*attr*/,
- Dwarf_Half * /*returned_form*/,
- Dwarf_Error* /*error*/
- );
-
- int dwarf_whatattr (
- Dwarf_Attribute /*attr*/,
- Dwarf_Half * /*returned_attr_num*/,
- Dwarf_Error* /*error*/
- );
-
- /*
- The following are concerned with the Primary Interface: getting
- the actual data values. One function per 'kind' of FORM.
- */
- int dwarf_formref (
- Dwarf_Attribute /*attr*/,
- Dwarf_Off* /*return_offset*/,
- Dwarf_Error* /*error*/
- );
-
- int dwarf_formaddr (
- Dwarf_Attribute /*attr*/,
- Dwarf_Addr * /*returned_addr*/,
- Dwarf_Error* /*error*/
- );
-
- int dwarf_formflag (
- Dwarf_Attribute /*attr*/,
- Dwarf_Bool * /*returned_bool*/,
- Dwarf_Error* /*error*/
- );
-
- int dwarf_formudata (
- Dwarf_Attribute /*attr*/,
- Dwarf_Unsigned * /*returned_val*/,
- Dwarf_Error* /*error*/
- );
-
- int dwarf_formsdata (
- Dwarf_Attribute /*attr*/,
- Dwarf_Signed * /*returned_val*/,
- Dwarf_Error* /*error*/
- );
-
- int dwarf_formblock (
- Dwarf_Attribute /*attr*/,
- Dwarf_Block ** /*returned_block*/,
- Dwarf_Error* /*error*/
- );
-
- int dwarf_formstring (
- Dwarf_Attribute /*attr*/,
- char ** /*returned_string*/,
- Dwarf_Error* /*error*/
- );
- /* end attribute query operations. */
-
- /* line number operations */
- /* dwarf_srclines is the normal interface */
- int dwarf_srclines (
- Dwarf_Die /*die*/,
- Dwarf_Line** /*linebuf*/,
- Dwarf_Signed * /*linecount*/,
- Dwarf_Error* /*error*/
- );
-
- int dwarf_srcfiles (
- Dwarf_Die /*die*/,
- char*** /*srcfiles*/,
- Dwarf_Signed * /*filecount*/,
- Dwarf_Error* /*error*/
- );
-
- /* Unimplemented. */
- int dwarf_dieline (
- Dwarf_Die /*die*/,
- Dwarf_Line * /*returned_line*/,
- Dwarf_Error* /*error*/
- );
-
- int dwarf_linebeginstatement (
- Dwarf_Line /*line*/,
- Dwarf_Bool * /*returned_bool*/,
- Dwarf_Error* /*error*/
- );
-
- int dwarf_lineendsequence (
- Dwarf_Line /*line*/,
- Dwarf_Bool * /*returned_bool*/,
- Dwarf_Error* /*error*/
- );
-
- int dwarf_lineno (
- Dwarf_Line /*line*/,
- Dwarf_Unsigned * /*returned_lineno*/,
- Dwarf_Error* /*error*/
- );
-
- int dwarf_lineaddr (
- Dwarf_Line /*line*/,
- Dwarf_Addr * /*returned_addr*/,
- Dwarf_Error* /*error*/
- );
-
- int dwarf_lineoff (
- Dwarf_Line /*line*/,
- Dwarf_Signed * /*returned_lineoffset*/,
- Dwarf_Error* /*error*/
- );
-
- int dwarf_linesrc (
- Dwarf_Line /*line*/,
- char ** /*returned_name*/,
- Dwarf_Error* /*error*/
- );
-
- int dwarf_lineblock (
- Dwarf_Line /*line*/,
- Dwarf_Bool * /*returned_bool*/,
- Dwarf_Error* /*error*/
- );
-
- /* tertiary interface to line info */
- /* Unimplemented */
- int dwarf_pclines (
- Dwarf_Debug /*dbg*/,
- Dwarf_Addr /*pc*/,
- Dwarf_Line** /*linebuf*/,
- Dwarf_Signed * /*linecount*/,
- Dwarf_Signed /*slide*/,
- Dwarf_Error* /*error*/
- );
- /* end line number operations */
-
- /* global name space operations (.debug_pubnames access) */
- int dwarf_get_globals (
- Dwarf_Debug /*dbg*/,
- Dwarf_Global** /*globals*/,
- Dwarf_Signed * /*number_of_globals*/,
- Dwarf_Error* /*error*/
- );
-
- int dwarf_globname (
- Dwarf_Global /*glob*/,
- char ** /*returned_name*/,
- Dwarf_Error* /*error*/
- );
-
- int dwarf_global_die_offset (
- Dwarf_Global /*global*/,
- Dwarf_Off* /*return_offset*/,
- Dwarf_Error * /*error*/
- );
-
- int dwarf_global_cu_offset (
- Dwarf_Global /*global*/,
- Dwarf_Off* /*return_offset*/,
- Dwarf_Error* /*error*/
- );
-
- int dwarf_global_name_offsets (
- Dwarf_Global /*global*/,
- char ** /*returned_name*/,
- Dwarf_Off* /*die_offset*/,
- Dwarf_Off* /*cu_offset*/,
- Dwarf_Error* /*error*/
- );
-
- /* Static function name operations. */
- int dwarf_get_funcs (
- Dwarf_Debug /*dbg*/,
- Dwarf_Func** /*funcs*/,
- Dwarf_Signed * /*number_of_funcs*/,
- Dwarf_Error* /*error*/
- );
-
- int dwarf_funcname (
- Dwarf_Func /*func*/,
- char ** /*returned_name*/,
- Dwarf_Error* /*error*/
- );
-
- int dwarf_func_die_offset (
- Dwarf_Func /*func*/,
- Dwarf_Off* /*return_offset*/,
- Dwarf_Error* /*error*/
- );
-
- int dwarf_func_cu_offset (
- Dwarf_Func /*func*/,
- Dwarf_Off* /*return_offset*/,
- Dwarf_Error* /*error*/
- );
-
- int dwarf_func_name_offsets (
- Dwarf_Func /*func*/,
- char ** /*returned_name*/,
- Dwarf_Off* /*die_offset*/,
- Dwarf_Off* /*cu_offset*/,
- Dwarf_Error* /*error*/
- );
-
- /* User-defined type name operations. */
- int dwarf_get_types (
- Dwarf_Debug /*dbg*/,
- Dwarf_Type** /*types*/,
- Dwarf_Signed * /*number_of_types*/,
- Dwarf_Error* /*error*/
- );
-
- int dwarf_typename (
- Dwarf_Type /*type*/,
- char ** /*returned_name*/,
- Dwarf_Error* /*error*/
- );
-
- int dwarf_type_die_offset (
- Dwarf_Type /*type*/,
- Dwarf_Off* /*return_offset*/,
- Dwarf_Error* /*error*/
- );
-
- int dwarf_type_cu_offset (
- Dwarf_Type /*type*/,
- Dwarf_Off* /*return_offset*/,
- Dwarf_Error* /*error*/
- );
-
- int dwarf_type_name_offsets (
- Dwarf_Type /*type*/,
- char ** /*returned_name*/,
- Dwarf_Off* /*die_offset*/,
- Dwarf_Off* /*cu_offset*/,
- Dwarf_Error* /*error*/
- );
-
- /* File-scope static variable name operations. */
- int dwarf_get_vars (
- Dwarf_Debug /*dbg*/,
- Dwarf_Var** /*vars*/,
- Dwarf_Signed * /*number_of_vars*/,
- Dwarf_Error* /*error*/
- );
-
- int dwarf_varname (
- Dwarf_Var /*var*/,
- char ** /*returned_name*/,
- Dwarf_Error* /*error*/
- );
-
- int dwarf_var_die_offset (
- Dwarf_Var /*var*/,
- Dwarf_Off* /*return_offset*/,
- Dwarf_Error* /*error*/
- );
-
- int dwarf_var_cu_offset (
- Dwarf_Var /*var*/,
- Dwarf_Off* /*return_offset*/,
- Dwarf_Error* /*error*/
- );
-
- int dwarf_var_name_offsets (
- Dwarf_Var /*var*/,
- char ** /*returned_name*/,
- Dwarf_Off* /*die_offset*/,
- Dwarf_Off* /*cu_offset*/,
- Dwarf_Error* /*error*/
- );
-
- /* weak name operations. */
- int dwarf_get_weaks (
- Dwarf_Debug /*dbg*/,
- Dwarf_Weak** /*weaks*/,
- Dwarf_Signed * /*number_of_weaks*/,
- Dwarf_Error* /*error*/
- );
-
- int dwarf_weakname (
- Dwarf_Weak /*weak*/,
- char ** /*returned_name*/,
- Dwarf_Error* /*error*/
- );
-
- int dwarf_weak_die_offset (
- Dwarf_Weak /*weak*/,
- Dwarf_Off* /*return_offset*/,
- Dwarf_Error* /*error*/
- );
-
- int dwarf_weak_cu_offset (
- Dwarf_Weak /*weak*/,
- Dwarf_Off* /*return_offset*/,
- Dwarf_Error* /*error*/
- );
-
- int dwarf_weak_name_offsets (
- Dwarf_Weak /*weak*/,
- char ** /*returned_name*/,
- Dwarf_Off* /*die_offset*/,
- Dwarf_Off* /*cu_offset*/,
- Dwarf_Error* /*error*/
- );
-
- /* location list section operation. (.debug_loc access) */
- /* Unimplemented. */
- int dwarf_get_loclist_entry (
- Dwarf_Debug /*dbg*/,
- Dwarf_Unsigned /*offset*/,
- Dwarf_Addr* /*hipc*/,
- Dwarf_Addr* /*lopc*/,
- Dwarf_Ptr* /*data*/,
- Dwarf_Unsigned* /*entry_len*/,
- Dwarf_Unsigned* /*next_entry*/,
- Dwarf_Error* /*error*/
- );
-
- /* abbreviation section operations */
- int dwarf_get_abbrev (
- Dwarf_Debug /*dbg*/,
- Dwarf_Unsigned /*offset*/,
- Dwarf_Abbrev * /*returned_abbrev*/,
- Dwarf_Unsigned* /*length*/,
- Dwarf_Unsigned* /*attr_count*/,
- Dwarf_Error* /*error*/
- );
-
- int dwarf_get_abbrev_tag (
- Dwarf_Abbrev /*abbrev*/,
- Dwarf_Half* /*return_tag_number*/,
- Dwarf_Error* /*error*/
- );
-
- int dwarf_get_abbrev_children_flag (
- Dwarf_Abbrev /*abbrev*/,
- Dwarf_Signed* /*return_flag*/,
- Dwarf_Error* /*error*/
- );
-
- int dwarf_get_abbrev_entry (
- Dwarf_Abbrev /*abbrev*/,
- Dwarf_Signed /*index*/,
- Dwarf_Half * /*returned_attr_num*/,
- Dwarf_Signed* /*form*/,
- Dwarf_Off* /*offset*/,
- Dwarf_Error* /*error*/
- );
-
- /* consumer string section operation */
- int dwarf_get_str (
- Dwarf_Debug /*dbg*/,
- Dwarf_Off /*offset*/,
- char** /*string*/,
- Dwarf_Signed * /*strlen_of_string*/,
- Dwarf_Error* /*error*/
- );
-
- /* consumer operations on frame info: .debug_frame */
- int dwarf_get_fde_list (
- Dwarf_Debug /*dbg*/,
- Dwarf_Cie** /*cie_data*/,
- Dwarf_Signed* /*cie_element_count*/,
- Dwarf_Fde** /*fde_data*/,
- Dwarf_Signed* /*fde_element_count*/,
- Dwarf_Error* /*error*/
- );
-
- int dwarf_get_fde_range (
- Dwarf_Fde /*fde*/,
- Dwarf_Addr* /*low_pc*/,
- Dwarf_Unsigned* /*func_length*/,
- Dwarf_Ptr* /*fde_bytes*/,
- Dwarf_Unsigned* /*fde_byte_length*/,
- Dwarf_Off* /*cie_offset*/,
- Dwarf_Signed* /*cie_index*/,
- Dwarf_Off* /*fde_offset*/,
- Dwarf_Error* /*error*/
- );
-
- int dwarf_get_cie_info (
- Dwarf_Cie /*cie*/,
- Dwarf_Unsigned * /*bytes_in_cie*/,
- Dwarf_Small* /*version*/,
- char ** /*augmenter*/,
- Dwarf_Unsigned* /*code_alignment_factor*/,
- Dwarf_Signed* /*data_alignment_factor*/,
- Dwarf_Half* /*return_address_register_rule*/,
- Dwarf_Ptr* /*initial_instructions*/,
- Dwarf_Unsigned* /*initial_instructions_length*/,
- Dwarf_Error* /*error*/
- );
-
- int dwarf_get_fde_info_for_reg (
- Dwarf_Fde /*fde*/,
- Dwarf_Half /*table_column*/,
- Dwarf_Addr /*pc_requested*/,
- Dwarf_Signed* /*offset_relevant*/,
- Dwarf_Signed* /*register*/,
- Dwarf_Signed* /*offset*/,
- Dwarf_Addr* /*row_pc*/,
- Dwarf_Error* /*error*/
- );
-
- int dwarf_get_fde_for_die (
- Dwarf_Debug /*dbg*/,
- Dwarf_Die /*subr_die */,
- Dwarf_Fde * /*returned_fde*/,
- Dwarf_Error* /*error*/
- );
-
- int dwarf_get_fde_n (
- Dwarf_Fde* /*fde_data*/,
- Dwarf_Unsigned /*fde_index*/,
- Dwarf_Fde * /*returned_fde*/,
- Dwarf_Error* /*error*/
- );
-
- int dwarf_get_fde_at_pc (
- Dwarf_Fde* /*fde_data*/,
- Dwarf_Addr /*pc_of_interest*/,
- Dwarf_Fde * /*returned_fde*/,
- Dwarf_Addr* /*lopc*/,
- Dwarf_Addr* /*hipc*/,
- Dwarf_Error* /*error*/
- );
-
- int dwarf_expand_frame_instructions (
- Dwarf_Debug /*dbg*/,
- Dwarf_Ptr /*instruction*/,
- Dwarf_Unsigned /*i_length*/,
- Dwarf_Frame_Op** /*returned_op_list*/,
- Dwarf_Signed* /*op_count*/,
- Dwarf_Error* /*error*/
- );
-
- /* Operations on .debug_aranges. */
- int dwarf_get_aranges (
- Dwarf_Debug /*dbg*/,
- Dwarf_Arange** /*aranges*/,
- Dwarf_Signed * /*arange_count*/,
- Dwarf_Error* /*error*/
- );
-
-
-
- int dwarf_get_arange (
- Dwarf_Arange* /*aranges*/,
- Dwarf_Unsigned /*arange_count*/,
- Dwarf_Addr /*address*/,
- Dwarf_Arange * /*returned_arange*/,
- Dwarf_Error* /*error*/
- );
-
- int dwarf_get_cu_die_offset (
- Dwarf_Arange /*arange*/,
- Dwarf_Off* /*return_offset*/,
- Dwarf_Error* /*error*/
- );
-
- int dwarf_get_arange_info (
- Dwarf_Arange /*arange*/,
- Dwarf_Addr* /*start*/,
- Dwarf_Unsigned* /*length*/,
- Dwarf_Off* /*cu_die_offset*/,
- Dwarf_Error* /*error*/
- );
-
-
- /* utility operations */
- Dwarf_Unsigned dwarf_errno (
- Dwarf_Error /*error*/
- );
-
- char* dwarf_errmsg (
- Dwarf_Error /*error*/
- );
-
- /* Unimplemented */
- Dwarf_Handler dwarf_seterrhand (
- Dwarf_Debug /*dbg*/,
- Dwarf_Handler /*errhand*/
- );
-
- /* Unimplemented */
- Dwarf_Ptr dwarf_seterrarg (
- Dwarf_Debug /*dbg*/,
- Dwarf_Ptr /*errarg*/
- );
-
- void dwarf_dealloc (
- Dwarf_Debug /*dbg*/,
- void* /*space*/,
- Dwarf_Unsigned /*type*/
- );
-
-
- /* DWARF Producer Interface */
-
- typedef int (*Dwarf_Callback_Func) (
- char* /*name*/,
- int /*size*/,
- Dwarf_Unsigned /*type*/,
- Dwarf_Unsigned /*flags*/,
- Dwarf_Unsigned /*link*/,
- Dwarf_Unsigned /*info*/,
- int* /*sect name index*/,
- int* /*error*/
- );
-
- Dwarf_P_Debug dwarf_producer_init (
- Dwarf_Unsigned /*creation_flags*/,
- Dwarf_Callback_Func /*func*/,
- Dwarf_Handler /*errhand*/,
- Dwarf_Ptr /*errarg*/,
- Dwarf_Error* /*error*/
- );
-
- Dwarf_Signed dwarf_transform_to_disk_form (
- Dwarf_P_Debug /*dbg*/,
- Dwarf_Error* /*error*/
- );
-
- Dwarf_Ptr dwarf_get_section_bytes (
- Dwarf_P_Debug /*dbg*/,
- Dwarf_Signed /*dwarf_section*/,
- Dwarf_Signed* /*elf_section_index*/,
- Dwarf_Unsigned* /*length*/,
- Dwarf_Error* /*error*/
- );
-
- Dwarf_Unsigned dwarf_producer_finish (
- Dwarf_P_Debug /*dbg*/,
- Dwarf_Error* /*error*/
- );
-
- /* Producer attribute addition functions. */
- Dwarf_P_Attribute dwarf_add_AT_targ_address (
- Dwarf_P_Debug /*dbg*/,
- Dwarf_P_Die /*ownerdie*/,
- Dwarf_Half /*attr*/,
- Dwarf_Unsigned /*pc_value*/,
- Dwarf_Signed /*sym_index*/,
- Dwarf_Error* /*error*/
- );
-
- Dwarf_P_Attribute dwarf_add_AT_unsigned_const (
- Dwarf_P_Debug /*dbg*/,
- Dwarf_P_Die /*ownerdie*/,
- Dwarf_Half /*attr*/,
- Dwarf_Unsigned /*value*/,
- Dwarf_Error* /*error*/
- );
-
- Dwarf_P_Attribute dwarf_add_AT_signed_const (
- Dwarf_P_Debug /*dbg*/,
- Dwarf_P_Die /*ownerdie*/,
- Dwarf_Half /*attr*/,
- Dwarf_Signed /*value*/,
- Dwarf_Error* /*error*/
- );
-
- Dwarf_P_Attribute dwarf_add_AT_reference (
- Dwarf_P_Debug /*dbg*/,
- Dwarf_P_Die /*ownerdie*/,
- Dwarf_Half /*attr*/,
- Dwarf_P_Die /*otherdie*/,
- Dwarf_Error* /*error*/
- );
-
- Dwarf_P_Attribute dwarf_add_AT_const_value_string (
- Dwarf_P_Die /*ownerdie*/,
- char* /*string_value*/,
- Dwarf_Error* /*error*/
- );
-
- Dwarf_P_Attribute dwarf_add_AT_location_expr (
- Dwarf_P_Debug /*dbg*/,
- Dwarf_P_Die /*ownerdie*/,
- Dwarf_Half /*attr*/,
- Dwarf_P_Expr /*loc_expr*/,
- Dwarf_Error* /*error*/
- );
-
- Dwarf_P_Attribute dwarf_add_AT_string (
- Dwarf_P_Debug /*dbg*/,
- Dwarf_P_Die /*ownerdie*/,
- Dwarf_Half /*attr*/,
- char* /*string*/,
- Dwarf_Error* /*error*/
- );
-
- Dwarf_P_Attribute dwarf_add_AT_flag (
- Dwarf_P_Debug /*dbg*/,
- Dwarf_P_Die /*ownerdie*/,
- Dwarf_Half /*attr*/,
- Dwarf_Small /*flag*/,
- Dwarf_Error* /*error*/
- );
-
- Dwarf_P_Attribute dwarf_add_AT_producer (
- Dwarf_P_Die /*ownerdie*/,
- char* /*producer_string*/,
- Dwarf_Error* /*error*/
- );
-
- Dwarf_P_Attribute dwarf_add_AT_const_value_signedint (
- Dwarf_P_Die /*ownerdie*/,
- Dwarf_Signed /*signed_value*/,
- Dwarf_Error* /*error*/
- );
-
- Dwarf_P_Attribute dwarf_add_AT_const_value_unsignedint (
- Dwarf_P_Die /*ownerdie*/,
- Dwarf_Unsigned /*unsigned_value*/,
- Dwarf_Error* /*error*/
- );
-
- Dwarf_P_Attribute dwarf_add_AT_comp_dir (
- Dwarf_P_Die /*ownerdie*/,
- char* /*current_working_directory*/,
- Dwarf_Error* /*error*/
- );
-
- Dwarf_P_Attribute dwarf_add_AT_name (
- Dwarf_P_Die /*die*/,
- char* /*name*/,
- Dwarf_Error* /*error*/
- );
-
- /* Producer line creation functions (.debug_line) */
- Dwarf_Unsigned dwarf_add_directory_decl (
- Dwarf_P_Debug /*dbg*/,
- char* /*name*/,
- Dwarf_Error* /*error*/
- );
-
- Dwarf_Unsigned dwarf_add_file_decl (
- Dwarf_P_Debug /*dbg*/,
- char* /*name*/,
- Dwarf_Unsigned /*dir_index*/,
- Dwarf_Unsigned /*time_last_modified*/,
- Dwarf_Unsigned /*length*/,
- Dwarf_Error* /*error*/
- );
-
- Dwarf_Unsigned dwarf_add_line_entry (
- Dwarf_P_Debug /*dbg*/,
- Dwarf_Unsigned /*file_index*/,
- Dwarf_Addr /*code_address*/,
- Dwarf_Unsigned /*lineno*/,
- Dwarf_Signed /*column_number*/,
- Dwarf_Bool /*is_source_stmt_begin*/,
- Dwarf_Bool /*is_basic_block_begin*/,
- Dwarf_Error* /*error*/
- );
-
- Dwarf_Unsigned dwarf_lne_set_address (
- Dwarf_P_Debug /*dbg*/,
- Dwarf_Unsigned /*offset*/,
- Dwarf_Unsigned /*symbol_index*/,
- Dwarf_Error* /*error*/
- );
-
- Dwarf_Unsigned dwarf_lne_end_sequence (
- Dwarf_P_Debug /*dbg*/,
- Dwarf_Addr /*end_address*/,
- Dwarf_Error* /*error*/
- );
-
- /* Producer .debug_frame functions */
- Dwarf_Unsigned dwarf_add_frame_cie (
- Dwarf_P_Debug /*dbg*/,
- char* /*augmenter*/,
- Dwarf_Small /*code_alignent_factor*/,
- Dwarf_Small /*data_alignment_factor*/,
- Dwarf_Small /*return_address_reg*/,
- Dwarf_Ptr /*initialization_bytes*/,
- Dwarf_Unsigned /*init_byte_len*/,
- Dwarf_Error* /*error*/
- );
-
- Dwarf_Unsigned dwarf_add_frame_fde (
- Dwarf_P_Debug /*dbg*/,
- Dwarf_P_Fde /*fde*/,
- Dwarf_P_Die /*corresponding subprogram die*/,
- Dwarf_Unsigned /*cie_to_use*/,
- Dwarf_Unsigned /*virt_addr_of_described_code*/,
- Dwarf_Unsigned /*length_of_code*/,
- Dwarf_Unsigned /*symbol_index*/,
- Dwarf_Error* /*error*/
- );
-
- Dwarf_P_Fde dwarf_add_fde_inst (
- Dwarf_P_Fde /*fde*/,
- Dwarf_Small /*op*/,
- Dwarf_Unsigned /*val1*/,
- Dwarf_Unsigned /*val2*/,
- Dwarf_Error* /*error*/
- );
-
- Dwarf_P_Fde dwarf_new_fde (
- Dwarf_P_Debug /*dbg*/,
- Dwarf_Error* /*error*/
- );
-
- Dwarf_P_Fde dwarf_fde_cfa_offset (
- Dwarf_P_Fde /*fde*/,
- Dwarf_Unsigned /*register_number*/,
- Dwarf_Signed /*offset*/,
- Dwarf_Error* /*error*/
- );
-
- /* die creation & addition routines */
- Dwarf_P_Die dwarf_new_die (
- Dwarf_P_Debug /*dbg*/,
- Dwarf_Tag /*tag*/,
- Dwarf_P_Die /*parent*/,
- Dwarf_P_Die /*child*/,
- Dwarf_P_Die /*left */,
- Dwarf_P_Die /*right*/,
- Dwarf_Error* /*error*/
- );
-
- Dwarf_Unsigned dwarf_add_die_to_debug (
- Dwarf_P_Debug /*dbg*/,
- Dwarf_P_Die /*die*/,
- Dwarf_Error* /*error*/
- );
-
- Dwarf_P_Die dwarf_die_link (
- Dwarf_P_Die /*die*/,
- Dwarf_P_Die /*parent*/,
- Dwarf_P_Die /*child*/,
- Dwarf_P_Die /*left*/,
- Dwarf_P_Die /*right*/,
- Dwarf_Error* /*error*/
- );
-
- /* Operations to create location expressions. */
- Dwarf_P_Expr dwarf_new_expr (
- Dwarf_P_Debug /*dbg*/,
- Dwarf_Error* /*error*/
- );
-
- Dwarf_Unsigned dwarf_add_expr_gen (
- Dwarf_P_Expr /*expr*/,
- Dwarf_Small /*opcode*/,
- Dwarf_Unsigned /*val1*/,
- Dwarf_Unsigned /*val2*/,
- Dwarf_Error* /*error*/
- );
-
- Dwarf_Unsigned dwarf_add_expr_addr (
- Dwarf_P_Expr /*expr*/,
- Dwarf_Unsigned /*addr*/,
- Dwarf_Signed /*sym_index*/,
- Dwarf_Error* /*error*/
- );
-
- Dwarf_Unsigned dwarf_expr_current_offset (
- Dwarf_P_Expr /*expr*/,
- Dwarf_Error* /*error*/
- );
-
- Dwarf_Addr dwarf_expr_into_block (
- Dwarf_P_Expr /*expr*/,
- Dwarf_Unsigned* /*length*/,
- Dwarf_Error* /*error*/
- );
-
- Dwarf_Unsigned dwarf_add_arange (
- Dwarf_P_Debug /*dbg*/,
- Dwarf_Addr /*begin_address*/,
- Dwarf_Unsigned /*length*/,
- Dwarf_Signed /*symbol_index*/,
- Dwarf_Error* /*error*/
- );
-
- Dwarf_Unsigned dwarf_add_pubname (
- Dwarf_P_Debug /*dbg*/,
- Dwarf_P_Die /*die*/,
- char* /*pubname_name*/,
- Dwarf_Error* /*error*/
- );
-
- Dwarf_Unsigned dwarf_add_funcname (
- Dwarf_P_Debug /*dbg*/,
- Dwarf_P_Die /*die*/,
- char* /*func_name*/,
- Dwarf_Error* /*error*/
- );
-
- Dwarf_Unsigned dwarf_add_typename (
- Dwarf_P_Debug /*dbg*/,
- Dwarf_P_Die /*die*/,
- char* /*type_name*/,
- Dwarf_Error* /*error*/
- );
-
- Dwarf_Unsigned dwarf_add_varname (
- Dwarf_P_Debug /*dbg*/,
- Dwarf_P_Die /*die*/,
- char* /*var_name*/,
- Dwarf_Error* /*error*/
- );
-
- Dwarf_Unsigned dwarf_add_weakname (
- Dwarf_P_Debug /*dbg*/,
- Dwarf_P_Die /*die*/,
- char* /*weak_name*/,
- Dwarf_Error* /*error*/
- );
-
- void dwarf_p_dealloc (
- void* /*space*/,
- Dwarf_Unsigned /*type*/
- );
-
- int
- dwarf_attr_offset (
- Dwarf_Die /*die*/,
- Dwarf_Attribute /*attr of above die*/,
- Dwarf_Off * /*returns offset thru this ptr */,
- Dwarf_Error * /*error*/
- );
-
-
- #ifdef __cplusplus
- }
- #endif
- #endif /* _LIBDWARF_H */
-
-